#!/usr/bin/env python
# coding=utf-8
import text_res # 这是我提前在另一个文件准备好的字符画

class Gundam():
    def __init__(self, pilot, name, power, bullet):
        self.pilot = pilot
        self.name = name
        self.power = power
        self.bullet = bullet
        print("驾驶员【", self.pilot, "】已注册！本机体命名为【", self.name, "】！")
        print(self.name, "动力系统已启动!剩余动力", self.power)
        print(self.name, "武器系统已启动!剩余飞弹", self.bullet)

    def fly(self):
        self.power -= 10
        print(self.name, "消耗了10%的能量向上飞了10米。能量还剩", self.power, "%请谨慎使用！")

    def shoot(self):
        self.bullet -= 10
        print(self.name, "发射了10枚飞弹！全脱靶！剩余飞弹", self.bullet, "枚，败家玩意你省着点打！")
    # 这就是我们的Gundam这个类了。


# 接下来我想给两台机体各自加一些独特的功能。
# 要实现这些功能就要用到类的继承。我现在是第二代开发者，我现在不用研究高达是怎做的了，我要给它两个细分分类，一类叫高达+，一类叫扎古2。
# 高达+给一个特技，光剑捅座舱。扎古2给一个绕后踢屁股。

class GundamPlus(Gundam):

    def __init__(self, pilot, name, power, bullet):
        self.pilot = pilot
        self.name = name
        self.power = power
        self.bullet = bullet
        print("驾驶员【", self.pilot, "】已注册！本机体命名为【", self.name, "】！")
        print(self.name, "动力系统已启动!剩余动力", self.power)
        print(self.name, "武器系统已启动!剩余飞弹", self.bullet)
        print('暴击已达100%！光剑技能可释放！')

    def lightSaber(self):
        self.power -= 30
        print('光剑已捅向对方驾驶舱……')
        print('对方驾驶舱已捅炸！造成60点伤害！消耗能量30，剩余能量:', self.power)
        return 60  # 造成的攻击


class Zaku(Gundam):
    def __init__(self, pilot, name, power, bullet):
        self.pilot = pilot
        self.name = name
        self.power = power
        self.bullet = bullet
        print("驾驶员【", self.pilot, "】已注册！本机体命名为【", self.name, "】！")
        print(self.name, "动力系统已启动!剩余动力", self.power)
        print(self.name, "武器系统已启动!剩余飞弹", self.bullet)
        print('暴击已达100%！踢屁股技能可释放！')

    def assKick(self):
        self.power -= 40
        print('进入狂暴状态……')
        print('绕后爆菊成功，对方已失去战意!造成60点伤害！消耗能量40，剩余能量:', self.power)
        return 60  # 造成的攻击


# 那么接下来我们把它们放到一个游戏里。游戏的基本逻辑是这样的：
# 你可以启动一台高达与扎古战斗。这是一个回合制的游戏，每次攻击之后看HP，谁的HP成了负数就输了。
import time


def game():
    print('【【【欢迎来到高达大战】】】')
    time.sleep(1)
    print(text_res.title)
    pilot = input('请输入驾驶员的名字：')
    name = input('请输入机体的名字：')
    time.sleep(1)

    print(text_res.gundam_pos1)
    gundam1 = GundamPlus(pilot, name, power=100, bullet=100)
    G_hp = 100
    print(f"{gundam1.name}HP = 100 ")
    time.sleep(1)
    input(f'{pilot}，你感觉怎么样？')
    time.sleep(1)
    print('天空中出现了一台敌机，敌机情报获取中……')
    time.sleep(1)
    print('……')
    time.sleep(1)
    print(text_res.zaku_pose1)
    zaku1 = Zaku(pilot="夏亚", name = "红色彗星", power=100, bullet=100)
    Z_hp = 100
    print(f'{zaku1.name}HP=',Z_hp)
    print('一场恶战在所难免！你准备好战斗了吗？')
    time.sleep(1)
    while True:
        def startgame():
            mark1 = input('是否开始战斗？输入 Y 或者 N 选择！')
            if mark1 == 'Y':
                print('冲向天际吧！勇敢的高达！')
                time.sleep(1)
                return 1
            elif mark1 == 'N':
                print('逃跑是没用的！你不干它，它就干你！')
                time.sleep(1)
                return 2
            else:
                print('别闹，让你干啥你就干啥！')
                time.sleep(1)
                startgame()


        if startgame() == 1:
            print('【【【GAME START!】】】')
            print(text_res.vs)
            time.sleep(1)
            mark2 = input('你要如何操作？a=起飞，b=射击，c=大招')
            if mark2 == 'a':
                gundam1.fly()
            elif mark2 == 'b':
                gundam1.shoot()
            elif mark2 == 'c':
                print(text_res.gudam_pose2)
                gundam1.lightSaber()
                Z_hp -= 60
                print(f'【{zaku1.name} HP=', Z_hp, '】')
            print("………………………………………………")
            time.sleep(3)

        if Z_hp <= 0:
            print(Z_hp)
            print(text_res.boom)
            print('YOU WIN!')
            break
        else:
            pass
        print('扎古对你发起了攻击！')
        print(text_res.zaku_pose2)
        time.sleep(1)
        zaku1.shoot()
        time.sleep(1)
        zaku1.assKick()
        G_hp -= 60
        if G_hp <= 0:
            print(G_hp)
            print(text_res.boom)
            print('GAME OVER!')
            break
        else:
            pass
        print(f'【{gundam1.name} HP=', G_hp, '】')
        print("………………………………………………")
        time.sleep(3)
if "__main__" == "__main__":
    game()
#  
